package com.zhoux.collections.list;

import java.util.ArrayList;
import java.util.List;

/**
 * @author taoyi
 * @version 1.0
 * @date 2021/3/13 10:15
 *
 * 本类用于测试List接口的实现类 ArrayList 与 LinkedList
 *
 * ArrayList : ArrayList 类实现了可变的数组，允许保存所有元素，包括null，
 *            并可以根据索引位置对集合进行快速的随机访问。
 *      缺点：缺点是向指定的索引位置插入对象或删除对象的速度较慢
 *
 *LinkedList : LinkedList 类采用链式表结构保存对象。这种结构的优点是便于向集合中插入和删除对象，
 *             需要向集合中插入、删除对象时，使用LinkedList 类实现的List集合的效率较高；
 *             但对于随机访问集合中的对象时，使用LinkedList类实现List集合的效率较低。
 *
 */
public class List_Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>(); // 创建对象集合
        list.add("d");
        list.add("e");
        list.add("f");
        int i = (int)(Math.random()*list.size()); // 获取0~2之间的随机数
        System.out.println("随机获取数组中的元素:"+list.get(i));
        list.remove(1); // 将指定索引位置的元素从集合中移除
        System.out.println("将索引是'1'的元素从数组移除后，数组中的元素是:");
        for (int j = 0; j < list.size(); j++) {
            System.out.println(list.get(j));
        }
    }
}

